home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / PBC30.ZIP / FREADLIN.BAS < prev    next >
Encoding:
BASIC Source File  |  1994-11-12  |  1.4 KB  |  42 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        PBClone  Copyright (c) 1990-1994  Thomas G. Hanlin III        |
  4. '   |                                                                      |
  5. '   +----------------------------------------------------------------------+
  6.  
  7.  
  8.    DECLARE FUNCTION FGetLoc2& (BYVAL FileHandle%)
  9.    DECLARE SUB FSetLoc (BYVAL FileHandle%, Posn&)
  10.    DECLARE SUB SFRead (BYVAL FileHandle%, St$, BytesRead%, ErrCode%)
  11.  
  12. SUB FReadLine (FileHandle%, Dest$, DLen%, TooLong%, ErrCode%)
  13.    Posn& = FGetLoc2&(FileHandle%)
  14.    Buffer$ = SPACE$(LEN(Dest$) + 2)
  15.    SFRead FileHandle%, Buffer$, BytesRead%, ErrCode%
  16.    IF ErrCode% <= 0 THEN
  17.       IF ErrCode% < 0 AND BytesRead% > 0 THEN ErrCode% = 0
  18.       Buffer$ = LEFT$(Buffer$, BytesRead%)
  19.       tmp% = INSTR(Buffer$, CHR$(13) + CHR$(10))
  20.       IF tmp% THEN
  21.          DLen% = tmp% - 1
  22.          Adjustment% = DLen% + 2
  23.       ELSE
  24.          DLen% = LEN(Buffer$)
  25.          Adjustment% = DLen%
  26.       END IF
  27.       LSET Dest$ = Buffer$
  28.       IF DLen% > LEN(Dest$) THEN
  29.          TooLong% = -1
  30.          DLen% = LEN(Dest$)
  31.          Adjustment% = DLen%
  32.       ELSE
  33.          TooLong% = 0
  34.       END IF
  35.       Posn& = Posn& + CLNG(Adjustment%)
  36.       FSetLoc FileHandle%, Posn&
  37.    ELSE
  38.       DLen% = 0
  39.       TooLong% = 0
  40.    END IF
  41. END SUB
  42.